using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("DrawMorphedCardSpell")]
	public class DrawMorphedCardSpell : SuperSpell
	{
		public float m_OldCardHoldTime => method_2<float>("m_OldCardHoldTime");

		public float m_NewCardHoldTime => method_2<float>("m_NewCardHoldTime");

		public Card m_oldCard => method_3<Card>("m_oldCard");

		public int m_revealTaskIndex => method_2<int>("m_revealTaskIndex");

		public Card m_newCard => method_3<Card>("m_newCard");

		public DrawMorphedCardSpell(IntPtr address, string className)
			: base(address, className)
		{
		}

		public DrawMorphedCardSpell(IntPtr address)
			: this(address, "DrawMorphedCardSpell")
		{
		}

		public new bool AddPowerTargets()
		{
			return method_11<bool>("AddPowerTargets", Array.Empty<object>());
		}

		public new void OnAction(SpellStateType prevStateType)
		{
			method_8("OnAction", prevStateType);
		}

		public new void DoActionNow()
		{
			method_8("DoActionNow");
		}

		public void FindOldAndNewCards()
		{
			method_8("FindOldAndNewCards");
		}

		public void OnRevealTasksComplete(PowerTaskList taskList, int startIndex, int count, object userData)
		{
			method_8("OnRevealTasksComplete", taskList, startIndex, count, userData);
		}

		public void BeginEffects()
		{
			method_8("BeginEffects");
		}

		public void OnAllTasksComplete(PowerTaskList taskList, int startIndex, int count, object userData)
		{
			method_8("OnAllTasksComplete", taskList, startIndex, count, userData);
		}
	}
}
